9e5de423c56916e41685a03920987e0583fa3967,microservice-speaker/src/main/java/org/agoncal/application/conference/speaker/rest/SpeakerEndpoint.java,SpeakerEndpoint,retrieve,#String#boolean#,52

Before Change


                speaker.setBio(null);
                speaker.setAcceptedTalks(null);
            }
            return Response.ok(speaker).build();
        } else
            return Response.status(Response.Status.NOT_FOUND).build();
    }

After Change


        if (speaker == null)
            return Response.status(Response.Status.NOT_FOUND).build();

        EntityTag etag = new EntityTag(Integer.toString(speaker.hashCode()));
        Response.ResponseBuilder preconditions = request.evaluatePreconditions(etag);

        // cached resource did change -> serve updated content
        if (preconditions == null) {
            speaker.addLink("self", getURIForSelf(speaker));
            speaker.addLink("collection", getURIForCollection());
            if (expand) {
                for (AcceptedTalk acceptedTalk : speaker.getAcceptedTalks()) {
                    acceptedTalk.addLink("self", uriInfo.getAbsolutePath().resolve(acceptedTalk.getId()));
                }
            } else {
                speaker.setBio(null);
                speaker.setAcceptedTalks(null);
            }

            preconditions = Response.ok(speaker).tag(etag);
        }

        return preconditions.build();
    }

    @GET